package dominantIndex;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class Solution {
    public int dominantIndex(int[] nums) {

        // 解法1 直接排序
//        Map<Integer,Integer> map = new HashMap<Integer, Integer>();
//        for (int i = 0; i < nums.length; i++) {
//            map.put(nums[i],i);
//        }
//        Arrays.sort(nums);
//        return nums[nums.length-1]>=nums[nums.length-2]*2?map.get(nums[nums.length-1]):-1;

        // 解法2 找到最大的和第二大的元素，无需全部排序
        int[] max1 = new int[2];
        int max2 = -1;
        max1[0] = nums[0]; // 一维数组，max[0]存放值，max[1]存放下标
        for (int i = 1; i < nums.length; i++) {
            if(max1[0]<nums[i]){
                max2 = max1[0];
                max1[0] = nums[i];
                max1[1] = i;
            }else if(max2<nums[i]){
                max2 = nums[i];
            }
        }
        return max1[0]>=max2*2?max1[1]:-1;
    }
}
